                             RemAPollo V0.97 BETA

                       Produkt Eccentric Creations (TM)

                  (c) Mikolaj Calusinski 1998-99. Freeware.

                             Instrukcja obsîugi.

Wstëp
-----

RemAPollo - A1200 040\060 MMU Apollo Turboboard Remapper jest pakietem
freeware (uûywanie go nie wymaga rejetracji ani ûadnych opîat), ale autor
zastrzega sobie wszystkie prawa autorskie. Pakiet zostaî napisany pod wpîywem
mojej rozpaczy, wynikajâcej z braku moûliwoôci podmiany Kickstartu przez
uûytkowników kart Apollo. My, posiadacze tychûe kart byliômy w gorszej
sytuacji, niû wîaôciciele kart typu Blizzard, którzy mogli w dziecinnie prosty
sposób (ustawiajâc jednâ zworkë na karcie) "podmieniê" sobie ROM. My nie
moûemy tego zrobiê - nasze karty nie posiadajâ takich zworek, dodatkowo nie
byîo dotychczas programów umoûliwiajâcych nam takâ operacjë w sposób czysto
programowy. Mam nadziejë, ûe ta nierównoôê zostanie niniejszym wyrównana przez
RemAPollo.

Zwróê uwagë, ûe RemAPollo jest jeszcze w fazie testów próbnych, wiëc
wystâpienie problemów jest wysoce prawdopodobne. Jeûeli wykryjesz jakiekolwiek
nieprawidîowoôci w dziaîaniu programu, skontaktuj sië ze mnâ; szczegóîowe
opisy bîëdów mile widziane. Mój adres znajdziesz w rozdziale 'Autor'. Ponadto
upewnij sië, ûe uwaûnie przeczytaîeô të instrukcjë!

Rozpowszechnianie
-----------------

Pakiet RemAPollo moûe byê swobodnie rozpowszechniany, przy uwzglëdnieniu
poniûszych kryteriów:


 - Ûaden z plików, wchodzâcych w skîad pakietu nie moûe byê modyfikowany, ani
   pominiëty.

 - Nie moûna pobieraê ûadnych opîat za pakiet, z wyjâtkiem kosztu noônika i
   opîat manipulacyjnych.

 - Pakiet RemAPollo moûe byê doîâczany do zestawów darmowego oprogramowania,
   ale nie moûe byê zamieszczany na komercyjnych pîytach CD-ROM (wîâczajâc w
   to pîyty doîâczane do czasopism tzw. coverdyski). Jeûeli chesz zamieôciê
   ten pakiet na swoim CD-ROMie musisz najpierw zwróciê sië do mnie o
   wyraûenie zgody. Powyûsze nie dotyczy pîyt AminetCD; Administrator Aminetu,
   Urban MÜller, ma mojâ zgodë na umieszczanie pakietu RemAPollo na tychûe
   pîytach.

 - Pakiet RemAPollo nie moûe byê doîâczany do jakiegokolwiek komercyjnego
   produktu, bez mojej pisemnej zgody.

Ostrzeûenie
-----------

UÛYWASZ PLIKÓW, WCHODZÂCYCH W SKÎAD PAKIETU RemAPollo CAÎKOWICIE NA WÎASNE
RYZYKO. NIE PONOSZË ÛADNEJ ODPOWIEDZIALNOÔCI ZA SZKODY SPOWODOWANE
UÛYTKOWANIEM TEGO PAKIETU!

Do czego to wîaôciwie sîuûy?
----------------------------

RemAPollo jest pakietem programów stworzonych dla uûytkowników komputera Amiga
1200, wyposaûonego w kartë turbo Apollo 040/060. W jego skîad wchodzi kilka
plików sîuûâcych do podmieniania Kickstartu - czëôci systemu operacyjnego
Amigi, znajdujâcej sië w ROMie. Moûesz przenieôê Kickstart, który masz
zapisany w ROMie do szybkiej pamiëci, bâdú teû uûyê zupeînie innej wersji
Kickstartu (szczególnie przydatne, gdy jesteô programistâ). Wiëcej szczegóîów
w rozdziale "Korzystanie z pakietu".

Wymagania
---------

Dla poprawnego dziaîania pakietu sâ wymagane: 

- komputer Amiga 1200

- przynajmniej wersja 2.0 (V36) systemu operacyjnego (to chyba nie jest
  problem :-)

- karta turbo Apollo 040 lub 060 (procesor musi posiadaê sprawny MMU),
  wyposaûona w przynajmniej 1 MB pamiëci fast

- oryginalna biblioteka 040.library pochodzâca z Commodore w wersjach 37.10
  lub 37.30, jeûeli uûywasz procesora 68040 albo biblioteka 060.library
  doîâczana do karty turbo (obecnie program wspóîpracuje tylko z wersjâ
  60.10), jeûeli uûywasz procesora 68060.


Instalacja
----------

Instalacja, jakkolwiek prosta, skîada sië z kilku czynnoôci, które powinny byê
wykonane starannie i uwaûnie, w przeciwnym razie system prawie na pewno bëdzie
sprawiaî problemy. Poniewaû RemAPollo nie jest przeznaczony dla
niedoôwiadczonych uûytkowników, w pakiecie nie ma skryptu instalacyjnego -
caîâ pracë musisz wykonaê rëcznie.

                                      1.

Najpierw - to bardzo waûne - powinieneô zaktualizowaê plik 040(060).library. W
archiwum z programem znajdziesz specjalny program "patch" do tego celu. Jeûeli
Twoja 040(060).library znajduje sië w katalogu LIBS: i nie zostaîa spakowana,
wystarczy jedynie uruchomiê program "patch" bez ûadnych parametrów. Program
poinformuje Cië o wyniku swojej pracy, niestety tylko po angielsku. UWAGA! W
przypadku procesora 68040 upewnij sië, ûe uûywana przez Ciebie 040.library
pochodzi z Commodore; jeûeli wykorzystujesz bibliotekë pochodzâcâ z innych
úródeî (np. z Phase5) musisz z niej zrezygnowaê. W szczególnoôci remaper nie
bëdzie wspóîpracowaî z bibliotekami Phase5; ich uûywanie nie wpîywa na lepsze
funkcjonowanie kart Apollo.

Jeôli Twoja biblioteka jest spakowana, najpierw rozpakuj jâ, a nastëpnie
wywoîaj program "patch" podajâc ôcieûkë dostëpu do niej. Po skoïczonej
operacji moûesz spakowaê bibliotekë ponownie.

Powyûsza czynnoôê jest ABSOLUTNIE konieczna, dla prawidîowej pracy systemu z
podmienionym Kickstartem. Twoja Amiga moûe dziaîaê poprawnie bez dokonywania
zmian w pliku 040(060).library, ale nie wprowadzajâc ich sam prosisz sië o
kîopoty; za którymô razem system moûe sië "zawiesiê". Jeûeli chcesz dowiedzieê
sië czegoô wiëcej o zmianach wykonywanych przez program "patch" przeczytaj
rozdiaî "Informacje dodatkowe".

                                      2.

Po zakoïczeniu operacji uaktualniania biblioteki powinieneô skopiowaê program
DRAP (Apollo Remapper Deallocator) do katalogu C:, po czym umieôciê jego
wywoîanie w sekwencji startowej (startup-sequence) w pierwszej linii po
SetPatchu. Odpowiedni fragment Twojego startupu powinien wiëc wyglâdaê tak:

...
SetPatch QUIET
DRAP
...

Stosowanie tego programiku nie jest wymagane dla poprawnego funkcjonowania
relokacji, ale jego uûycie jest ze wszech miar polecane. Jego dziaîanie polega
m.in. na zwolnieniu pamiëci allokowanej przez remaper (dokîadnie 67712
bajtów) i doproweadzeniu systemu do bardziej efektywnego i stabilnego stanu.
Jeûeli zamierzasz korzystaê z funkcji MAC (patrz rozdziaî "Korzystanie z
pakietu") ten program *MUSI* zostaê uruchomiony, w przeciwnym razie emulator
"zawiesi" sië. Uûywanie DRAPa przyspieszy teû nieco pracë systemu, poniewaû
przenosi pierwszâ stronë pamiëci (pierwszy kilobajt) z wooolnej pamiëci chip
do pamiëci fast. Wreszcie, zabezpieczy on zmapowany Kickstart przed zapisem.
Moûesz umieôciê DRAPa w startup-sequence na staîe - w przypadku nie wykrycia
relokacji nie robi on nic, z wyjâtkiem ustawienia kodu wyjôciowego (RC) na 5.

                                      3.

Kiedy powyûsze punkty zostanâ zrealizowane moûesz uûyê gîównego programu z
pakietu (patrz rozdziaî "Korzystanie z pakietu").

Relokacja pozostanie aktywna tak dîugo, jak dîugo nie zostanâ naruszone: baza
biblioteki exec ani wektor ColdCapture. Aby pozbyê sië jej z pamiëci uûyj
zaîâczonego w pakiecie programu "Reset" z opcjâ HARD. Program ten wyczyôci
lokacjë 4, usuwajâc z systemu wszelkie rezydenty.

Korzystanie z pakietu
---------------------

Gîówny program pakietu RemAPollo (o tej samej nazwie) moûe byê uruchomiony
zarówno z CLI jak i z Workbencha. Tooltypy sâ praktycznie identyczne z
parametrami CLI, w zwiâzku z czym omówimy tylko te ostatnie.

Standardowa skîadnia (uzyskiwania poprzez wpisanie "?" jako parametru) wyglâda
tak:

KICKFILE,MAC/S,NF=NOPAGEFIX/S,FORCE/S,QUIET/S:

Ûaden z parametrów nie jest wymagany. Jeûeli nie podasz wcale argumentów
aktualny ROM zostanie zmapowany, a komputer wykona reset. Amiga zgîosi sië z
tym samym Kickstartem co w ROMie, z jednâ niezwykle uûytecznâ róûnicâ: pamiëc
fast jest przyîâczana w bardzo wczesnej fazie startu systemu (odpada
koniecznoôê uûywania programów typu FastExec). Dziëki temu moûesz takûe
zakîadaê dyski wirtualne RAD w pamiëci fast!

KICKFILE - ten parametr jest uûywany do zlokalizowania pliku z obrazem
Kickstartu, którego chcesz uûywaê. Obsîugiwane sâ tylko Kickstarty 512kB,
zawierajâce nagîówek $1114 i poprawnâ sumë kontrolnâ. RemAPollo nie
wspóîpracuje z Kickstartami 1.x (256kB).

MAC - uûyj tej opcji, jeûeli korzystasz z programowego emulatora komputerów
Macintosh. Spowoduje ona rezerwacjë pierwszych 16kB pamiëci chip, czego
wymagajâ te programy. Nie musisz juû uûywaê programów typu RsrvCold, RsrvWarm
czy PrepareEmul w swoim startup-sequence. Nie zapomnij wywoîaê programu "DRAP"
zaraz po SetPatchu!

NF lub NOPAGEFIX - ta opcja ma sens tylko przy Kickstarcie 2.x; w wersjach 3.x
jest ignorowana. Jest uûywana do wyîâczenia poprawki w systemie, dotyczâcej
pierwszej strony pamiëci, a dokonywaniej automatycznie przez remapera. Na
Kickstartach 2.x pamiëê chip jest przyîâczana do systemu od lokacji $400.
Poniewaû MMU procesorów 040 i 060 moûe pracowaê z najmniejszâ rozdzielczoôciâ
4kB, lepiej jest, aby pamiëê byîa odpowiednio do tego wyrównana (czyli
zaczynaîa sië od adresu $1000). Aby tego dokonaê mapper poprawia procedurë
inicjalizacji systemu; poczâwszy od Kickstartu 3.x ta poprawka nie jest juû
potrzebna. Jeôli z jakiegoô powodu nie chcesz zmieniaê oryginalnego zachowania
sië systemu 2.x przy przyîâczaniu pamiëci chip uûyj opcji NOPAGEFIX. Parametr
ten nic nie robi w przypadku uûycia opcji MAC.

FORCE - uûywany jeûeli relokacja jest juû aktywna i chcesz wymusiê ponowne
uûycie mappera. Normalnie remaper nie bëdzie staraî sië dokonaê relokacji,
jeôli stwierdzi takowâ w pamiëci (umoûliwia to stosowanie mappera w
startup-sequence bez ciâgîych resetów komputera).

QUIET - idealna opcja dla chcâcych wykorzystywaê mappera na staîe (w
startupie); powoduje wyîâczenie wypisywania tekstów i skraca oczekiwanie na
reset komputera.

O ile nie wybraîeô opcji QUIET, moûesz przerwaê proces mapowania wciskajâc
jednoczeônie klawisze "control" i "c" (CTRL-C).

Jeûeli potrzebny Ci przykîad, oto co mam umieszczone w pierwszej linii mojego
startupu:

RemAPollo MAC QUIET

Mam Kickstart 3.1 w ROMie, wiëc nie muszë podawaê nazwy pliku. Jeôli uûywasz
Kickstartu 3.0, powinieneô wpisaê coô w tym stylu:

RemAPollo DEVS:Kickstart3.1 MAC QUIET

Oczywiôcie, zakîadam ûe posiadasz odpowiedni plik w DEVS:.

Informacje dodatkowe
--------------------

Rezydentny kod remapera jest zabezpieczony sumâ kontrolnâ aby zapewniê
wîaôciwy start komputera - jeôli zostanie wykryta jakakolwiek zmiana w tym
kodzie, program ustawi ekran na czerwono i zresetuje Amigë.

Mapper korzysta z wektora ColdCapture, aby przetrwaê pomiëdzy resetami, wiëc
nie powinieneô uûywaê ûadnych programów posîugujâcych sië nim. Dodatkowo jest
równieû podmieniany wektor bus error procesora ($00000008) i powinien pozostaê
niezmieniony, dopóki nie zostanie zainicjalizowana 040(060).library, co
normalnie wykonuje SetPatch. Dopiero po tym powinieneô uruchomiê program DRAP,
aby przywróciê oryginalnâ postaê tego wektora. Weú powyûsze pod uwagë podczas
sprawdzania systemu programem antywirusowym.

Aby zmapowaê Kickstart, RemAPollo musi zbudowaê tabele MMU, co zajmuje pamiëê.
Staraîem sië ograniczyê jej wielkoôê do niezbëdnego minimum, w zwiâzku z czym
mapper uûywa 8 kB tablic MMU. Niestety takie rozwiâzanie powoduje konflikt ze
sposobem, w jaki biblioteki 040.library i 060.library instalujâ swoje 4 kB
tablice. Nie wyîâczajâ one MMU przed zaîadowaniem tzw. root pointerów co
prowadzi do nieprzewidywalnych reakcji systemu. Spójrz na odnoôny fragment
kodu 040.library w wersji 37.30:

(wejôcie w të procedurë nastëpuje z wîâczonym MMU, ustawionym na tryb 8k)

	ori.w	#$700,SR
	pflusha
	move.l	(A0)+,D0
	movec	D0,URP		;!!! URP wskazuje na 4k tablice!!!
	move.l	(A0)+,D0
	movec	D0,SRP		;!!! SRP wskazuje na 4k tablice!!! - BUUUM!
	move.l	(A0)+,D0
	movec	D0,TC		;MMU zostaje przeîâczony na tryb 4k, trochë póúno...
	pflusha
	moveq	#0,D0
	movec	D0,ITT0
	movec	D0,ITT1
	movec	D0,DTT0
	movec	D0,DTT1
	rte

Aby ta procedura dziaîaîa naleûy dodaê nastëpujâcy kod:

	ori.w	#$700,SR
	moveq	#0,d0
	movec	d0,TC		;wyîâcz MMU
	pflusha

... i to wîaônie robi program "patch".

Bîëdy
-----

Nie stwierdzono. (Ale zróûnicowanie systemów na których pakiet byî testowany
byîo niewielkie).

Historia
--------

V0.1ALFA - (??.9.98) - wersje wewnëtrzne tylko do wîasnego uûytku

V0.96ß - (23.12.98) - pierwsza wersja semi-publiczna (dla wybranych testerów)

V0.97ß - (1.1.99) zmiany:
 - cache procesora sâ inwalidowane przed wîâczeniem
 - wîâczany jest tylko cache dla instrukcji
 - kod rezydentny sprawdza teraz sumë kontrolnâ Kickstartu (jeôli
   nieprawidîowa, komputer jest resetowany z usuniëciem mapera z pamiëci)

V0.973ß - (8.1.99)
 - poprawione rozpoznawanie przez Kickstart pamiëci tzw. slow ($c00000); to
   powino wyeliminowaê zawieszanie sië mapera na niektórych systemach. Dziëki
   dla Arkadiusza Winiarka i Marcina Ostrowskiego za zwrócenie uwagi na ten
   problem.

V0.974ß - (12.1.99)
 - po wykryciu procesora 68060, maper ustawia odpowiedniâ flage w strukturze
   biblioteki exec

V0.975ß - (13.1.99)
 - inteligentniejsze rozpoznawanie relokacji przez maper, dziëki czemu moûna
   uûywaê niektórych (dobrze napisanych) programów, które wykorzystujâ wektor
   coldcapture. Pierwsza wersja publiczna.


Podziëkowania
-------------

Wielkie dziëki Harremu Sintonenowi, który przesîaî mi kilka wstëpnych
informacji dotyczâcych MMU procesora 040. Byîo to dawno temu, ale pomogîy mi
one rozpoznaê problem, z którym zamierzaîem sië zmierzyê.

Ciepîe buziaczki dla firmy Motorola ;-) za znakomity dziaî dystrybucji
literatury, który zapewnia wszystkim chëtnym dostëp do szerokiego wyboru
drukowanych materiaîów; a wszystko to caîkowicie za darmo!

Wreszcie dziëki wszystkim alfatesterom, którzy zgodzili sië ryzykowaê
stabilnoôê swych systemów, zmagajâc sië z licznymi wresjami pakietu RemAPollo
(szczególnie dziëkujë Marcinowi Ostrowskiemu, który pomógî mi namierzyê bardzo
powaûny bîâd; mam nadziejë, ûe uda Ci sië w koïcu opanowaê system... ;)

Arkadiuszowi Winiarkowi za wytrwaîoôê i pomoc w debugowaniu oraz za wywieranie
presji. ;) Dziëki Tobie RemAPollo chodzi na 060.

Mojemu bratu Jackowi za niniejsze tîumaczenie.

Ten program dedykujë Ministry - zespoîowi tworzâcemu muzykë, nie wszechobecne
g...no, jakim jest rap.

Autor
-----
Mój adres e-mail (preferowana forma kontaktu): bloelle@priv.gold.pl lub
bloelle@polbox.com


oraz adres dla zwykîej poczty:

                              Mikolaj Caîusiïski
                            ul. Olsztyïska 113/117
                              42-200 Czëstochowa

Mam nadziejë, ûe ten program przyda Ci sië. Baw sië dobrze!
                                                            Mikoîaj.

      ------------> AMIGA - NAJLEPSZY KOMPUTER POD SÎOÏCEM <------------
